|
|
تشخیص بن بست در سیستمهای توزیع شده آفیس ، داک، 95 صفحه مهندسی نرمافزار فهرست مطالب
مقدمه فصل اول: تشخیص بن بست در سیستمهای توزیع شده 1-1- مفاهیم پایه 1-2- انواع مدلهای بنبست بر اساس سیستم تبادل پیام 1-3- انواع مدلهای بنبست بر اساس نوع درخواست 1-4- شرایط وجود بنبست 1-5- طبقهبندی الگوریتمهای تشخیص بنبست فصل دوم: مروری بر الگوریتمهای تشخیص بنبست مقدمه 2-1- نمونهای از الگوریتم متمرکز جهت تشخیص بنبست در سیستمهای توزیعشده 2-1-1- الگوریتم هو- رامامورتی 2-2- نمونهای از الگوریتمهای تشخیص بنبست سلسلهمراتبی 2-2-1- الگوریتم منساس – مانتر 2-2-2- الگوایتم هو – رامامورثی 2-3- نمونههایی از الگوریتمهای توزیعشده 2-3-1- الگوریتم تشخیص بنبست چندی – مسیرا – هاس 2-3-2- الگوریتم محاسبه پخش کردن چندی – مسیرا – هاس 2-3-3- الگوریتم براچا – توگ 2-3-4- الگوریتم منساس و مانتز2-3-5- الگوریتم ابرمارک 2-3-5- الگوریتم ابرمارک 2-3-6- الگوریتم بدالض فصل سوم: مروری بر الگوریتمهای تشخیص بنبست توزیع شده تعقیب یال مقدمه 3-1- بررسی الگوریتمهای تشخیص بنبست تعقیب یال 3-1-1- الگوریتم میچل و مریت 3-1-2- الگوریتم سینها و ناتارجان 3-1-3- الگوریتم چودهاری – کوهلر – استنکویچ و توسلی 3-1-4- الگوریتم سینقال و شمکالیانی 3-1-5- تشخیص بنبست توزیع شده و حل آن بر اساس ساعتهای سختافزاری 3-2- ارائه روشی برای حذف بنبست نادرست در الگوریتمهای تشخیص بنبست الف 3-3- نتیجهگیری
فصل چهارم: الگوریتمهای تشخیص بنبست توزیع شده تحمل خطاپذیر مقدمه 4-1- مروری بر الگوریتمهای تحملپذیر خطا جهت تشخیص بنبست 4-2- معرفی مدل سیستم تشخیص خرابی بر اساس شاخص زمان اتصال 4-3- یک الگوریتم تشخیص بنبست توزیع شده تحملپذیر خطا 4-4- اثبات درستی الگوریتم 4-5- نتیجهگیری فصل پنجم: تشخیص و حل بنبست در سیستمهای نماینده موبایل مقدمه 5-1- معرفی سیستمهای نماینده موبایل(نسل آینده سیستمهای توزیع شده) 5-2- تشخیص بنبست توزیعشده در سیستمهای نماینده موبایل 5-3- معایب الگوریتم اصلی و مشکلات کارایی الگوریتم 5-4- الگوریتم تشخیص بنبست توزیع شده مبتنی بر اولویت بهبودیافته 5-4-1- آنالیز کارایی الگوریتم بهبودیافته 5-4-2- اثبات درستی الگوریتم 5-5- نتیجهگیری نتیجهگیری فهرست منابع پیوستها
مقدمه امروزه کمتر سیستمی را می توان یافت که روی یک کامپیوتر متمرکز باشد. رشد روزافزون استفاده از سیستمهای توزیع شده، اهمیت تحقیق و پژوهش در راستای حل موانع و مشکلات موجود در این سیستمها را بیشتر آشکار می نماید. از جمله سیستمهای توزیع شده می توان به بانکهای اطلاعاتی توزیع شده، سیستم عاملهای توزیع شده، و سیستمهای کارگزار موبایل اشاره نمود. سیستم توزیع شده از مجموعه ای از فرآیندهایی که از طریق ارسال پیام با یکدیگر در ارتباط اند،تشکیل شده است.یکی از مسائل مهم در سیستمهای توزیع شده در راستای مدیریت منابع، تشخیص بن بست توزیع شده است. مدیریت منابع زمانی که فرایندهای درخواست کننده در سطح شبکه در مکانهای مختلف توزیع شده اند،فرایند تشخیص را نسبت به سیستمهای متمرکز، دشوارتر می نماید. طی دهه اخیر الگوریتم های زیادی برای تشخیص بن بست در سیستم های توزیع شده ارائه شده است که تعداد زیادی از آنها موفق به تشخیص بن بست نمی شوند و یا بن بست هایی را گزارش می کنند که در واقع وجود ندارند و یا اینکه اثبات شده است که نادرست اند. هدف از این تحقیق مطالعه و بررسی روشهای مختلف تشخیص بن بست در سیستمهای توزیع شده، شناسایی مشکلات، محدودیت های آنها و ارائه راه حل عملی مبتنی بر واقعیات موجود در سیستمهای توزیع شده در خصوص مشکلات شناسایی شده است.
فصل اول: تشخیص بن بست در سیستم های توزیع شده 1-1- مفاهیم پایه تعریف 1-گراف- انتظار- برای (WFG): یک گراف جهتدار است که وابستگی بین فرایندها را نشان می دهد و در آن گره ها فرایندها و یالها نشان دهنده درخواست منابع است. تعریف2- چرخه بن بست: یک چرخه جهتدار در گراف- انتظار- برای (WFG) است. تعریف3- بن بست دروغین: به بن بستی گفته می شود که در حقیقت وجود ندارد. تعریف4- درستی الگوریتم های تشخیص بن بست توزیع شده: اثبات درستی الگوریتم های تشخیص بن بست توزیع شده با 2 ویژگی زیر تعیین می شود: · ویژگی پیشرفت (Progress): بدین معنی که هر بن بستی که واقع شود در نهایت باید تشخیص داده شود. · ویژگی امنیت(Safety): اگر بن بستی توسط الگوریتم تشخیص داده شود، باید واقعاً وجود داشته باشد. 1-2- انواع مدلهای بن بست براساس سیستم تبادل پیام براساس سیستم تبادل پیام، دو نوع بن بست وجود دارد: * بن بست منبعی * بن بست ارتباطی در بن بستهای ارتباطی، پیامها منابعی هستند که فرایندها برای آن متنظراند. تفاوت اصلی بین بن بست منبعی و بن بست ارتباطی در این است که بن بست منبعی از شرایط AND استفاده می کند و بن بست ارتباطی از شرط OR با تعریف ذیل استفاده می کند: 1-3- انواع مدلهای بن بست براساس نوع درخواست منبع تقسیم بندی مدلهای بن بست براساس سیستم تبادل پیام به دو نوع بن بست ارتباطی و منبع به منظور شناسایی الگوریتمهای تشخیص بن بست کافی نیست. بنابراین که ویژگی های بیشتری از این الگوریتمها مدنظر قرار گیرد. یکی از این ویژگی ها نوع درخواست منبع است. در این بخش سلسله مراتبی از مدلهای منبع که می تواند در تقسیم بندی الگوریتمها تشخیص بن بست مورد استفاده قرار گیرد و مبتنی بر مدل بن بست ارائه شده توسط Knapp است، ارائه می شود. 1-3-1- مدل گراف- انتظار- برای این گراف به کلاس گراف های جهت دار تعلق دارد. گره ها در این گراف برای مدل کردن فرایندها بکار می روند. یالهای جهتدار در گراف نشان دهنده روابط مسدود شدن بین فرایندها . یک گره با یک یال خارج شده از آن به یک فرایند مسدود شده تعلق دارد. بن بست با یک چرخه در این گراف مشخص می شود. ارتباط بین بن بستها و این گراف در بخشهای زیر نشان داده شده است[13].
1-3-2- مدل تک- منبعی(One-Resource Model) مدل تک منبعی، ساده ترین مدل درخواست منبع است. در این مدل یک فرایند تنها یک درخواست منبع در یک زمان می تواند داشته باشد،بدان معنی که ماکزیمم یال خروجی از یک گره در گراف-انتظار- برای برابر یک است. برای یافتن بن بست در یک سیستم که مدل درخواست آن تک منبعی است، لازم است یک چرخه در گراف-انتظار-برای پیدا شود. یک الگوریتم ساده برای تشخیص بن بست براساس این مدل توسط میچل و مریت[2] است. 1-3-3- مدل AND این مدل عمومی تر از مدل تک منبعی است. در این مدل یک به یک فرایند اجازه داده می شود که مجموعه ای از منابع را درخواست نماید. تا زمانی مسدود می ماند که همه منابعی را که درخواست نموده بود، به دست آورد به عبارتی فرایندی که نیاز به منابعی برای اجرا دارد، زمانی می تواند پیش رود که همه منابعش را به دست آورد. همانند مدل تک منبعی برای یافتن بن بست در یک سیستم با مدل این مدل درخواست، لازم است یک چرخه در گراف-انتظار-برای پیدا شود. نمونه ای از این الگوریتمها توسط چندی- میسرا-هاس ، منساس و مانتز و اوبرمارک، ارائه شده است. 1-3-4- مدلOR این مدل جالبی از مدل درخواست AND است. به آن مدل ارتباطی نیز می گویند. در این مدل به منظور تشخیص بن بست، تنها تشخیص یک چرخه در گراف-انتظار-برای کافی نیست، یافتن بن بست شامل پیدا کردن یک گره در گراف-انتظار-برای است. فرایندی که نیاز به منابعی برای اجرا دارد،زمانی می تواند پیش رود که حداقل یکی از منابعش را به دست آورد.دلیلی که شرط OR برای بن بست ارتباطی استفاده شده است این است که اغلب ساختارهای کنترل توزیع شده غیرقطعی هستند و یک فرایند ممکن است در انتظار یک پیام از چندین فرایند باشد. 1-3-5- مدل AND-OR مدل AND و مدل OR هردو از مدل AND-OR مشتق شده اند. مفهوم اصلی این مدل این است که این نوع درخواست ترکیبی از و یا در درخواست منبع است. تصور کنیدa ،b ، c، d منابع هستند که در کامپیوتر های متفاوتی قرار دارند. درخواست به این شکلd and ((c or b) a and) امکان پذیر است. تشخیص بن بست در این مدل می تواند با تکرار تست برای مدل تشخیص OR با فرض اینکه بن بست یک مشخصه پایدار است، انجام شود. 1-3-6- مدل p-out-of-q این مدل بدین معنی است که یک فرایند به طور همزمان درخواست q منبع را می نماید و تا زمانی که p منبع را بدست آورد،مسدود می ماند. این مدل نوع دیگر AND-OR است که ترکیبی از مدلهای OR و AND است به عنوان مثال(b OR c) AND q.
1-4- شرایط وجود بن بست شرط وجود بن بست در یک سیستم با استفاده از مدل AND این است که یک چرخه وجود داشته باشد. در یک سیستم با شرط OR ، وجود چرخه ممکن است باعث بن بست بشود یا نشود. شرط وجود بن بست در سیستمی با استفاده از شرط OR، وجود یک گره است. یک گره(k) شامل مجموع از گره ها است که برای هر گره a در k همه گره ها در k و تنها گره های در k ، از گره a قابل در دسترس باشند. 1-5- طبقه بندی الگوریتم های تشخیص بن بست توزیع شده الگوریتم های تشخیص بن بست توزیع شده مطابق روشی که اطلاعات وضعیت سیستم نگهداری می شود و یا متدلوژِی که برای جستجو شرایط بن بست استفاده می شود طبقه بندی می شوند. الگوریتم های تشخیص بن بست توزیع شده توسط Sighal[5] به 3 گروه زیر طبقه بندی شده است: · متمرکز( Centralized) · توزیع شده ( Distributed) · سلسله مراتبی(Hierarchical) 1-5-1- الگوریتم های متمرکز برای تشخیص بن بست در سیستم های توزیع شده در الگوریتم های متمرکز برای تشخیص بن بست مکانی طراحی شده که اغلب به آن سایت کنترل گفته می شود و مسئولیت نگهداری اطلاعات وضعیت کلی سیستم و جستجوی آن برای شرایط بن بست را برعهده دارد. اطلاعات وضعیت کلی سیستم از طریق پیگیری کردن اطلاعات وضعیت سیستم به طور پریودیک و بهنگام نمودن آن ، انجام می شود. هرزمان که وضعیت سیستم تغییر یابد، نیاز به محاسبات تشخیص بن بست است. سایت مرکزی به عنوان یک سیستم عمومی مانیتور نیگ می تواند تلقی شود نوع بن بستی که می تواند تشخیص داده شود نیز متفاوت است. اگرچه برای سادگی اغلب الگوریتمها محدودیتی روی اطلاعات جمع آوری شده و الگوریتمی که برای جستجوبن بست به کار برده می شود، اعمال می نماید. به عنوان مثال جستجو برای چرخه به جای جستجو برای گره که منجر به محدود کردن نوعی بن بستی می شود که تشخیص داده می شود. باتوجه به اینکه سایت کنترل دید کلی نسبت به تمام سیستم دارد، لذا سیاست حل بن بست نسبتاً آسان است. الگوریتم های متمرکز از لحاظ مفهومی ساده بوده و پیاده سازی آسانی دارند اما خیلی ناکارا و غیرقابل اطمینان می باشد.سایت مرکزی ناچار به اطلاع از همه عملیات درخواست آزاد کردن منابع در طول سیستم است. همچنین زمان پاسخ طولانی برای کاربر، سربار ارتباطی زیاد و ازدحام لینکهای ارتباطی در نزدیکی سایت مرکزی از جمله در مسائلی است که ناشی از سیستم های متمرکز می شود. در نتیجه منجر به سربارهای ارتباطی.....ادامه دارد.
:: برچسبها:
تشخیص بن بست در سیستمهای توزیع شده ,
مهندسی نرمافزار ,
نرم افزار ,
مهندسی ,
بن بست ,
سیستم های توزیع شده ,
پروژه ,
الگوریتمهای تشخیص بنبست ,
تشخیص بنبست ,
الگوریتم هو- رامامورتی ,
الگوریتم ابرمارک ,
الگوریتم بدالض ,
الگولیتم ,
بنبست تعقیب یا ,
میچل و مریت ,
سینها و ناتارجان ,
موبایل ,
:: بازدید از این مطلب : 89
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0
تاریخ انتشار : سه شنبه 3 خرداد 1395 |
نظرات ()
|
|
|
|
|